home *** CD-ROM | disk | FTP | other *** search
/ Programmer Plus 2007 / Programmer-Plus-2007.iso / Programming / Low Level Languages / PCLOGO / LOGO / WINDOWS.LG_ / WINDOWS.LG
Encoding:
Text File  |  1994-05-22  |  1.7 KB  |  72 lines

  1. NOCASE
  2.  
  3. MAKE ".GRAPHICS (.HWND "Graphics)            ; handle for the turtle window
  4. MAKE ".LISTENER (.HWND "Listener)            ; handle for the Listener window
  5.  
  6. ; set the title bar of the Graphics window
  7.  
  8. TO SET.TITLE :TEXT
  9.     IGNORE (.WINDOWS "SetWindowText :.GRAPHICS :TEXT)
  10. END
  11.  
  12. ; Perform a beep
  13.  
  14. TO BEEP
  15.     IGNORE (.WINDOWS "MessageBeep 0)
  16. END
  17.  
  18. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  19.  
  20. ; Message boxes
  21.  
  22. CONST "MB_OK               #h0000
  23. CONST "MB_OKCANCEL         #h0001
  24. CONST "MB_ABORTRETRYIGNORE #h0002
  25. CONST "MB_YESNOCANCEL      #h0003
  26. CONST "MB_YESNO            #h0004
  27. CONST "MB_RETRYCANCEL      #h0005
  28.  
  29. CONST "MB_ICONHAND         #h0010
  30. CONST "MB_ICONQUESTION     #h0020
  31. CONST "MB_ICONEXCLAMATION  #h0030
  32. CONST "MB_ICONASTERISK     #h0040
  33.  
  34. CONST "IDOK            1
  35. CONST "IDCANCEL        2
  36. CONST "IDABORT         3
  37. CONST "IDRETRY         4
  38. CONST "IDIGNORE        5
  39. CONST "IDYES           6
  40. CONST "IDNO            7
  41.  
  42. ; simple message box
  43.  
  44. TO MESSAGE :TEXT
  45.     IGNORE (.WINDOWS "MessageBox .HWND :TEXT "|PC Logo| MB_ICONASTERISK)
  46. END
  47.  
  48. ; reply box
  49. ; will output TRUE or FALSE
  50.  
  51. TO REPLY :TEXT
  52.     OUTPUT (.WINDOWS "MessageBox .HWND :TEXT "|PC Logo| \
  53.         MB_ICONQUESTION + MB_YESNO) = IDYES
  54. END
  55.  
  56. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  57.  
  58. ; compute the size of a text in units of the given window
  59. ; note: this works only for WORDS!
  60.  
  61. TO TEXTSIZE :HWND :TEXT
  62.     (LOCAL "DC "N)
  63.     IF NOT WORD? :TEXT THEN OUTPUT []
  64.     MAKE "DC .GETDC :HWND
  65.     IF :DC = 0 THEN OUTPUT []
  66.     MAKE "N (.WINDOWSL "GetTextExtent :DC :TEXT COUNT :TEXT)
  67.     .FREEDC :HWND
  68.     OUTPUT LIST (LOGAND :N #HFFFF) (LSH :N 16)
  69. END
  70.  
  71. CASE
  72.